home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 9 / Night Owl CD-ROM (NOPV9) (Night Owl Publisher) (1993).ISO / 001a / lnxinfo.zip / FAQFEB93.P3 < prev    next >
Internet Message Format  |  1993-03-03  |  45KB

  1. Path: labri.greco-prog.fr!corsini
  2. Newsgroups: news.answers,comp.answers,comp.os.linux,comp.os.linux.announce
  3. Distribution: world
  4. Followup-To: poster
  5. From: corsini@labri.greco-prog.fr
  6. Reply-To: linux@numero6.greco-prog.fr
  7. Organization: Greco Prog. CNRS & LaBRI, Bordeaux France
  8. Subject: Linux Frequently Asked Questions 3/4 [monthly posted]
  9. Approved: news-answers-request@MIT.Edu
  10. Summary: Linux, a small and free unix-like for 386-AT computers.
  11.  
  12. Archive-name: linux-faq/part3
  13. Last-Modified: 93/02/11
  14. Version: 1.16
  15.  
  16. *********************************************************
  17. *                            *
  18. *   Answers to Frequently asked questions about Linux   *
  19. *                            *
  20. *********************************************************
  21.  
  22. This post contains Part 3 of the Linux FAQ (4 parts).
  23. It must be read *after* the 2 first parts. 
  24.  
  25. ===================================8<====>8============================
  26. CONTENTS (of this part)
  27.  
  28.     VIII.    FEATURES            (part3)
  29.     IX.    GCC MISC INFORMATION        (part3)
  30.     X.    SCSI SPECIAL            (part3)
  31.  
  32. ===================================8<====>8============================
  33.  
  34.  
  35.  
  36. VIII. FEATURES 
  37. ==============
  38.  
  39. QUESTION: I've read that linux has virtual consoles, what must I do to
  40. get them?
  41.  
  42. ANSWER: Yes there are, you can access them with the left <alt>-key
  43. together with <Fn>-key. With the Linux Images distribution, 4 consoles
  44. are available, getty runs on them.  
  45. Notice that they are NOT accessible when running X (contrary to some
  46. commercial unices).
  47.  
  48. QUESTION: When Linux boots, I get the following message "8 virtual
  49. consoles"; how can I acess to the 5-8 vc's ?
  50.  
  51. ANSWER: If you want the getty to run on the 5-8, you should add the
  52. corresponding entries in /etc/inittab. You can also just run sh on
  53. them by using the doshell soft.
  54. And then in either case, the ALT-F[5-8] will access the corresponding
  55. vc.  
  56.  
  57. QUESTION: What kind of shell is /bin/sh ?
  58.  
  59. ANSWER: It's the Bourne Again Shell, bash-1.12.3 and 
  60. compilation was straightforward, just "make" 
  61. that's all or nearly. 
  62. BTW There does exist different shells for Linux, these are:
  63. bash, rc, zsh, tcsh and pdksh (a korn shell).
  64.  
  65.  
  66. QUESTION: Does there exist a man page for **** ?
  67.  
  68. ANSWER: Download man.tar.Z from your favorite linux ftp site, there is
  69. most of the fileutils man page -- either **** or g****, example there
  70. is nothing on ld, but there is for gld :) --, check the whatis
  71. database provided. The files in the cat1 dir are pre-formatted man
  72. pages that the man program can use. Quite recently the man pages for
  73. section 2 have been written (thanks Drew) and can be found, at least
  74. at tsx-11 in /pub/linux/docs/man/man2.tar.Z 
  75.  
  76. Also manpages are in the SLS on the b? disks.
  77.  
  78. BTW there is nroff and groff for Linux. Cawf 2.0 works just
  79. fine for simple man pages, and a partial ms support too. 
  80.  
  81.  
  82. Moreover Michael Johnson is the coordinator for man pages under Linux,
  83. he is looking for volunteers, so contact the DOC Channel.
  84.  
  85. QUESTION: Is there a simple man package (groff is too big):
  86.  
  87. ANSWER: "Cawf -man" also "fm -m" (Al Clark) tsx-11 in
  88.      /pub/linux/binaries/usr.bin/fm.tar.Z 
  89.  
  90.  
  91. QUESTION: What are the editors available in linux?
  92.  
  93. ANSWER: Right now there are uemacs-3.11, elvis-1.4 (1.5). 
  94. Gnu Emacs is there, read the section devoted to it in the 4th part of
  95. this FAQ. Also the port of mg (micro gnu) has been done and can be
  96. found at least at athos.rutgers.edu (128.6.4.4) 
  97. in pub/linux, mg is the binary and mg.tar.Z is the sources file. You
  98. can also find a PD ed, and elvis has an ex mode. Finnally there are
  99. joe, vile-3.11, elle (Elle Looks Like Emacs), Xedit and aXe.
  100.  
  101. QUESTION: Does there exist a printer package for Linux?
  102.  
  103. ANSWER: (R. Miller) Yes.  The "plp" package is currently available
  104. under the directory [/pub/linux]/BETA/plp on tsx-11 and its mirrors.
  105. You may also print things manually like so:  cat filename > /dev/lp1 
  106. (Note that though "/dev/lp0" exists, most people find that their
  107. printer is on /dev/lp1.  Use whatever the kernel says that it detects
  108. in the boot-up messages.) 
  109.  
  110. QUESTION: Are uucp, mail, and/or USENET news available for Linux?
  111.  
  112. ANSWER: (Vince Skakan)
  113.    Yes !!!  At this time, the following (at least) have been
  114.         ported to Linux:
  115.  
  116.         Package name            version
  117.         ------------            --------
  118.         taylor uucp             1.03
  119.         elm                     2.3-pl11
  120.         smail                   3.1.28
  121.  
  122.         C-news                  12/22/91
  123.         tin                     1.1pl4
  124.         trn                     2.2
  125.         nn                      6.4.18
  126.  
  127. [...coming soon - Expect an announcement in the near future concerning
  128. the packages above being made available in binary form in the SLS
  129. distribution and in source form from sunsite.unc.edu and other Linux
  130. archive sites...]
  131.  
  132. If you are interested in the last uucp features, join the UUCP channel
  133. (see  part1 of this FAQ for more details about the multi channels list).
  134.  
  135. QUESTION: How do I make swapping work?
  136.  
  137. ANSWER: Quite simply, you need the swapon and the mkswap binaries.
  138. Then you can choose between a swap partition or a swap file.
  139. The mkswap is used to write the "swap signature", whilst the swapon
  140. binary is to activate the swapping. 
  141.  
  142. First of all you need a partition :), I assume it's the second of your
  143. first disk namely /dev/hda2, and it's 10MB big
  144. A) swap partition:
  145. you have to indicate it's a swap area, this is done via mkswap
  146. (instead of mkfs) which needs the name of the partition and the size
  147. in blocks (a block is 1Ko big); the optional -c flag is for bad block
  148. checking. So for our example you should perform:
  149. mkswap [-c] /dev/hda2 10000
  150. Then you need to indicate that you want linux to use the swap area,
  151. this is done via swapon. In general it is set in the /etc/rc file,
  152. just put the following entry:
  153. /bin/swapon /dev/hda2
  154. It can also be achieved via the /etc/fstab file
  155. B) swap file:
  156. The process is quite close; you need a partition, and a swap file.
  157. Assume that I prefer a swap area of 4MB (I want to keep some place in
  158. /dev/hda2). I need first to "dd" the file.
  159. dd if=/dev/hda2 of=/swap_file bs=1024 count=4096
  160. bs stands for block size, and count is the number of blocks
  161. then I have to put the "swap signature" on that file:
  162. mkswap /swap_file 4096
  163. At this point, you should 'sync', just to be sure the signature is
  164. effective. And finally add an entry in the rc file:
  165. /bin/swapon /swap_file
  166.  
  167.  
  168. QUESTION: When I boot I get one of the following messages:
  169. "Unable to find swap signature" or "Bad swap-space bitmap"
  170.  
  171. ANSWER: You probably forgot to make your swap-device, use the mkswap
  172. command. 
  173.  
  174.  
  175. QUESTION: How do I know if it is swapping?
  176.  
  177. ANSWER: You will notice it :)) First of all, Linux tells you at boot
  178. time, "Adding swap: XXX pages of swap space", and if you start running
  179. out of memory, you will notice that the disk will work overtime, and
  180. things slow down. Generally a 2Meg RAM will make the system swap
  181. constantly while running gcc, 4 Meg will swap occasionnaly when
  182. optimizing big files (and having other things active, such as make).
  183. Also, the command 'free' (from the ps package) reports total enabled
  184. swap space and current swap use.
  185.  
  186.  
  187. QUESTION: How is it possible to remove a swap file?
  188.  
  189. ANSWER: Simply perform a rm on that file, and remove the swapon of
  190. your /etc/rc file.
  191.  
  192.  
  193. QUESTION: How is it possible to remove a swap device?
  194.  
  195. ANSWER: mkfs the device, and remove the swapon of your /etc/rc file.
  196.  
  197. QUESTION: How much swap space do I need ?
  198.  
  199. ANSWER: Linux does not perform real swapping, it's rather paging (see
  200. below for a more complete explanation). The swap area is *added* to
  201. the memory and can be viewed as virtual memory, so choose the size you
  202. need, example:
  203.  
  204.         8MB RAM + 6MB swap => 14MB virtual memory
  205.  
  206. QUESTION: Could someone explain the swap process on Linux?, is it
  207. swapping or paging ?
  208.  
  209. ANSWER: (Linus) Linux uses swap as /additional/ memory, one page of
  210. the swap-space is used for the good-page bitmap and the swapspace
  211. signature. 
  212. In fact Linux does only paging, no swaping in the meaning "write out
  213. one whole process to disk".
  214. The reason it's called swapping is that Linux used paging for memory
  215. management on a low level since the very beginning, but didn't page to
  216. disk at all until 0.12. 
  217.  
  218. QUESTION: Is demand paging different from paging and How ?
  219.  
  220. ANSWER: (Linus) Demand-paging is really "demand loading of
  221. executables" and is totally independent of the page-swapping
  222. algorithms, although they have similarities. When Linux strts up a
  223. process, no actual code space is loaded: I let the page exceptions
  224. load in the executable as needed. Thus Linux demand-loads the code and
  225. initialized data it needs.
  226. Demand-loading has very good points: (a) it simplifies the exec system
  227. call; (b) it means page sharing between that have excuted the same
  228. file is easy to implement; (c) it cuts down on the amount of memory
  229. required. When Linux runs out of real memory, it starts to lock for
  230. pages it can swap out, but if it notices that the page is clean, it
  231. just forgets about it, and demand-loads it when it's needed again.
  232. Thta means that swap-file isn't needed as much, especially when
  233. running big binaries such as gcc, where the code-pages can be
  234. demand-loaded as you wish.
  235.  
  236. Point (c) means that even without any swap space, you can usually run
  237. slightly larger programs that your memory setup would actually permit.
  238. I've noticed this while running X and doing a kernel compilation +
  239. something else wshen I've forgotten to turn on swapping: free reports
  240. 0 page available but things still work, although performance is
  241. slightly down... 
  242.  
  243. QUESTION: Is there any way to tell how much swap space you are using
  244. or have left? 
  245.  
  246. ANSWER: The free program provided with the ps package handles this.
  247.  
  248.  
  249. QUESTION: I have a 2Megs box, but "free" reports only 1Meg why?
  250.  
  251. ANSWER: (Linus:) "free" doesn't concern with the memory the kernel has
  252. allocated for itself. In other words what you see is the *user* memory
  253. available. The kernel has taken the low 1Meg for it's use (~250Ko for
  254. it and the rest for buffer cache and kernel data structures); for big
  255. memory machine it could be even 2Megs.
  256.  
  257. QUESTION: What tape drives work with Linux ?
  258.  
  259. ANSWER: (24 sept. P. Riipinen)
  260. - There is a working QIC-02 device driver for Linux, supporting (at
  261.   least) Everex/Wangtek cards.
  262. - There are additional patches for the QIC-02 to support Archive
  263.   SC402/499R. You can find them in /pub/linux/alpha/qic-02 at tsx-11
  264.   There are some bugs in the driver but you can backup.
  265. - Newer drivers are all SCSI, so check the SCSI section in this FAQ.
  266.  
  267. QUESTION: Is there only the %$#@ keyboard ?
  268.  
  269. ANSWER: There are Dannish, Finnish, French, German, Uk, US and DVORAK 
  270. keyboards. Set it in the main Makefile of the kernel sources, then  
  271. (re)compile the kernel again. Make sure the files in kernel/chr_drv
  272. directory are recompiled.   
  273.  
  274.  
  275. QUESTION: (special FINNISH/US) I booteed up with the new image and
  276. everything work except that some keyboard keys produce wrong
  277. characters. Does anyone know what is happening?
  278.  
  279. ANSWER: Since 0.95a images are US product (and so are US-keyboard
  280. oriented), BUT linux sources are FINNISH product, and so the default
  281. keyboard is set to be FINNISH. The solution is in the previous Q/A.
  282.  
  283.  
  284. QUESTION: Does there exist shared libs ?
  285.  
  286. ANSWER: (H.J. Lu, hlu@eecs.wsu.edu, 09/01/92)
  287.  
  288. The shared library under Linux started at 0.12. Peter MacDonald
  289. collaborating with Linus made the first generation of shared library,
  290. which is the base of the current classic shared library.
  291.  
  292. The kernel support of shared library under Linux is system call
  293.  
  294. extern int uselib (const char *__filename);
  295.  
  296. which loads an executable image with fixed entry point into memory,
  297. just like the ordinary executables.
  298.  
  299. In crt0.s, a function which can find out if and which shared images
  300. are needed and loads them is invoked before `main ()' is called if
  301. necessary. David Engel and I developed a way to tell the loader which
  302. shared images have to be loaded, utilizing the similar technique used
  303. in global constructor in g++ 2.x with the help from GNU binary
  304. utilities.
  305.  
  306. In the classic Linux shared library, we build a big executable image 
  307. for several libraries and make sure no external variables outside of
  308. the participating libraries are referenced. Then we can get the
  309. absolute addresses of all the global variables defined in the
  310. libraries used to build that executable image. After that, we make a
  311. stub library for each participating library which just has the
  312. absolute addresses of all the global variable in it.
  313.  
  314. For each shared image, there must be one and only one file, usually
  315. called, __shared.o, which defines a global variable containing
  316. version, name and entry point of the shared image, and a dummy global
  317. data. Among those libraries used to build the shared image, there must
  318. be one library which will always be referenced whenever any other
  319. library is referenced. We put `__shared.o' into the stub library for
  320. that library and add a declaration for the dummy global data defined
  321. in `__shared.o' which will make sure `__shared.o' will always be linked
  322. in when any participating libraries are linked.
  323.  
  324. In gcc 2.2.2d, jump table, developed by David Engel, was introduced in 
  325. the shared library. At the beginning of each shared image, there is
  326. a table in which every library function has a fixed entry address and
  327. the instruction at that address is a jump which will lead to the
  328. real library function. So we can change the library function without
  329. changing the corresponding entry address of the jump table. For the
  330. global data we put them at the beginning of data section of the shared
  331. image. We have to separate them from text code and link them in fixed
  332. order. It is very hard to maintain the same addresses for the global
  333. data when library is changed. After the global data are set up properly
  334. and some spaces are left for possible future changes (that is a very
  335. tough procedure.), it isn't too difficult to maintain.
  336.  
  337. In the current implementation, only libc.a, libcurses.a, libdbm.a,
  338. libtermcap.a and libm.a are built with jump table. The global data in
  339. X11 libraries are too complicated to make jump table such that their
  340. addresses won't change when there is a change in X11 libraries. It's
  341. not apparent yet that the benefits gained from a jump table version of
  342. the X libraries would offset the effort required to set it up and
  343. maintain it unless we get some cooperation from X Consortium, which
  344. is very unlikely. But they are linked with jump table version of
  345. libc.a and libm.a. That means they don't have to be relinked when
  346. there is a modification in libc.a or libm.a.
  347.  
  348.  
  349. QUESTION: Does Linux work for SCSI drives?
  350.  
  351. ANSWER: Yes since v0.96. At tsx-11.mit.edu in /pub/linux/ALPHA/scsi, you
  352. will find the last SCSI alpha/beta version and also a special SCSI
  353. FAQ, read it, it  contains the latter information than the one provided
  354. in the SCSI section. You should, also, contact the linux-scsi list or
  355. directly drew@cs.colorado.edu  
  356.  
  357.  
  358. QUESTION: Linux is supposed to work with ESDI drive. However I have
  359. trouble with my Magtron MT-4115E (Joincom controler), any clue?
  360.  
  361. ANSWER: (Linus) Some harddisk don't like linux (even though they
  362. should). Maybe not a bug but a deficiency.
  363. (Mika) I had to remove the printk "unexpected hd interrupt" statement
  364. in hd.c because I was getting so many of those messages. Be warned
  365. that if there is any read error the system just hangs, even the
  366. ctrl-alt-del won't work. You should be able to use your ESDI drives if
  367. you could live with those nuisances.
  368.  
  369. QUESTION: How does one go about applying a patch to Linux ?
  370.  
  371. ANSWER: (Drew Eckhardt) In the unix world most of distribution are in
  372. source form. This includes the operating system. To apply a patch, you
  373. apply it with the 'patch' program to the affected sources. The patch
  374. program takes as input the differences between the old and the new
  375. version. After patching you need to recompile the sources.
  376.  
  377. Assume I want to apply a patch enclosed in the file XXX. First of all
  378. I will look at the top of XXX, where the file affected is identified.
  379. This may have aleading path attached to it. Either cd out to the
  380. "root" of the patch, ie if I see
  381. linux/kernel/blk_drv/blk.h
  382.  
  383. I would cd into /usr/src 
  384. (assuming it's the place where I can find linux/kernel...) 
  385. and then patch as follows
  386. patch -p0 < whatever_place/XXX
  387.  
  388. or, you can specify a number of path components to strip from the
  389. path. If I am in the blk_drv directory patching would be
  390. patch -p3 < whatever_place/XXX
  391.  
  392.  
  393. QUESTION: There are a lot of patches available (ps patch, NFS patches,
  394. CD-ROM patches ...) can I be fairly confident the subsequent patches will
  395. work?
  396.  
  397. ANSWER: This is not true yet for the current version; but it will be
  398. so I kept it :) 
  399. No you can't, patching is a real beta tester art :)).  People are not
  400. working on the same patched release, so you have to check if the
  401. patches you already applied works on the same kernel part, if not,
  402. /great/, just apply them. If yes, check if there is an order, patch
  403. creator knows that, and (should) try to warn patch user (in other
  404. words: beta tester) otherwise you should edit the patch files (and
  405. possibly make a brief note to others on this list/newsgroup or even a
  406. cdiff) before applying them, another solution is to keep cool and wait
  407. for the next version of Linux where, in general, the modifications
  408. have been done but this behavior is /not/ Linux helpful.
  409.  
  410.  
  411. QUESTION: I got the patches on some ftp sites, and applied them to the
  412. kernel and tried to compile. It didn't !!. Are the patches buggy?
  413.  
  414. ANSWER: Before remake, just do a make clean in the directories
  415. involved by the patches. This will force a rebuild of the .o and .a
  416. files. 
  417. If you have a RCS running on your source tree, did you checked a
  418. patched version of the files changed before /any/ CO either by you or
  419. make
  420.  
  421. Finally, make sure the patches succeded. Normally, failed patches on a
  422. file FILE will leave a FILE# file. Moreover you will get a "chunk
  423. failed" message. It is possible to capture the output while patching,
  424. with the following:
  425.  
  426.     patch -p0 < patchfile | 2>&1 patch.result | more
  427.  
  428.  
  429. QUESTION: What is VFS?
  430.  
  431. ANSWER: (Ted) Linux 0.96 already has Virtual FileSystem, which means
  432. that it acts as a filesystem switch. It makes it easy for someone to
  433. design another filesystem format and include it in the Linux kernel
  434. along with the standard minix filesystem format. So it /enables/
  435. someone to design a robust filesystem which would have some nice
  436. properties (no 14 chars file name limitation, nor 64Meg limit), and
  437. could be included in the kernel in such a way that both the Minix and
  438. the new one could be mounted at the same time. This solves the
  439. uncompability problem; since the root disk could still use the Minix
  440. filesystem, while the hardisk could be using the new one.
  441.  
  442.  
  443.  
  444. QUESTION: What's about Bus Mice ?
  445.  
  446. ANSWER: (Nathan I. Laredo) Since the Linux v0.96c-pl2 the kernel does
  447. support LOGITECH and BUS MICE 
  448. If you are unsure that you have a bus mouse or not, check to see if
  449. your mouse card has a selection for a sample rate switchable between
  450. 30Hz and 60Hz (or possibly 25/50Hz), if it does not, then it is NOT a
  451. true  bus mouse (InPort mice for example will not work with this
  452. driver). 
  453. To create a bus mouse device:
  454. mknod /dev/mouse c 10 0
  455.  
  456.  
  457. QUESTION: What's about TeX ?
  458.  
  459. ANSWER: The primary site for Linux TeX is 129.78.66.1, this is 
  460. P. Williams' site in Australia. The stuff at tsx-11 was posted by 
  461. T. Dunbar  who does support/maintain the dvilj stuff.
  462.  
  463.  
  464. QUESTION: What's about LILO ?
  465.  
  466. ANSWER: (Werner Almesberger)
  467. LILO  -  Generic Boot Loader for Linux ("LInux LOader") 
  468.  
  469. This is an ALPHA test release of a new boot loader. Be sure to have
  470. some means to boot your system from a different media if you install
  471. LILO on your hard disk.
  472.  
  473. Features
  474. --------
  475.  
  476. - does not depend on the file system. (Tested with Minix, EXT FS and MS-DOS
  477.   FS.)
  478. - can be used to boot from floppies and from hard disks.
  479. - can replace the master boot record.
  480. - can boot non-Linux systems (MS-DOS, DR DOS, OS/2, ...) and unstripped
  481.   kernels.
  482. - supports up to 16 different boot images that can be selected at boot
  483.   time. Root and swap disk/partition can be set independently for each
  484.   image.
  485. - boot sector, file map and boot images can be all on different disks or
  486.   partitions.
  487.  
  488.  
  489. Restrictions and known problems
  490. -------------------------------
  491.  
  492. - SCSI disks are not fully supported yet. (Still waiting for some kernel
  493.   changes.)
  494. - booting other operating systems doesn't seem to work everywhere. If
  495.   everything but booting a non-Linux OS from LILO works on your system,
  496.   you should boot LILO by BOOTACTV and select the alternate OS with the
  497.   latter as a temporary work-around.
  498. - booting non-Linux systems from the second hard disk ("D:") is not yet
  499.   supported.
  500.  
  501. Please send all bug reports to almesber@nessie.cs.id.ethz.ch
  502.  
  503.  
  504. QUESTION: What's about MGR ?
  505.  
  506. ANSWER: (General Information grabbed from various sources)
  507. There is a MGR channel available , contact the request adress with
  508. help in the body: linux-activists-request@niksula.hut.fi 
  509. The stuff can be found at tsx-11 in pub/linux/packages/MGR
  510. In brief:
  511.  
  512. MGR provides:
  513.     - multiple overlapping windows
  514.     - multiple fonts
  515.     - text and graphics in each windows
  516.     - a simple popup menu package
  517.     - a client/server model 'a la' X
  518.     - independance from any peculiar networking technology
  519.  
  520. MGR consist of a server process and some clients. Each client has his
  521. own window, and can create subwindows. Clients communicate with the
  522. server via a bidirectionnal channel. A C library is provided.
  523.  
  524. When a new window starts, it is as a terminal emulator running the
  525. shell; for more information you can grab the mgr-man.out from
  526. bellcore.com 
  527.  
  528. The information hereafter appeared on the MGR channel on 19th Jan. 
  529. > From: u31b3hs@POOL.informatik.rwth-aachen.de
  530. > Subject: MGR 0.53
  531. >
  532. >
  533. > MGR, version 0.53 for Linux and SunOS (Coherent unfinished yet).
  534. >
  535. > Unpack the src* stuff under in /src/lbin/mgr and the usr* stuff in 
  536. > /usr/mgr.  I splitted things that way for making it easier to ftp
  537. > them and carry them home.  If you don't like these paths, then use
  538. > others, but remember to edit the Configfile after generating it. 
  539. > YOU NEED TO INSTALL ALL FILES FOR COMPILING.
  540. >
  541. > This is a beta release for programmers, there are no binaries.  It
  542. > makes my work available for people who either also work on MGR and
  543. > like to get new sources and for adventerous beta testers.  WARNING:
  544. > I assume using Linux 0.99.2 and GCC 2.3.3.
  545. >
  546. > There is some new m4 code to generate menus.  It is more powerful
  547. > than menu(1), but a little harder to use.
  548. >
  549. > MGR is currently being ported to Coherent 4.0, but this version
  550. > doesn't include everything yet.  There is already a beta version
  551. > running on Coherent, although not too stable yet.
  552. >
  553. > For questions, write to the mailing list, channel MGR.  Please be
  554. > sure to talk about the latest version of MGR plus having read the
  555. > README files in the directories containing the problem.
  556. >
  557. > You got this stuff from ftp.thp.uni-koeln.de:pub/linux/mgr or from 
  558. > tsx-11.mit.edu:~ftp/pub/linux/packages/MGR, which is a mirror of the
  559. > Cologne directory.
  560.  
  561. QUESTION: I have successfully compiled MGR, but when I try to run the
  562. program I get "can't find mouse" or "already in use", any clue?
  563.  
  564. ANSWER: try the following "mgr -m /dev/ttys1" if the mouse is on
  565. the serial 1. Another possibility is to link /dev/mouse with
  566. /dev/ttys1 (assuming your mouse is on serial 1). Or if it's a bus
  567. mouse, "mknod /dev/mouse c 10 0" once.
  568.  
  569. QUESTION: Any tips for MGR?
  570.  
  571. ANSWER: Well, I have tried it on my 386Sx Ega/Vga; the screen is Ok
  572. but the Logitech mouse I have is not well recognized.
  573.  
  574. BTW check the major/minor number for pty's; they should be character
  575. device with 4 as major and 128 and bigger as minor:
  576. ptyp0 c 4 128
  577. ptyp1 c 4 129
  578. ...
  579. ttyp0 c 4 192
  580. ttyp1 c 4 193
  581.  
  582. QUESTION: What's about X11 ?
  583.  
  584. ANSWER: See the section XII. devoted to X11 in this FAQ.
  585.  
  586.  
  587. IX. GCC MISC INFORMATION
  588. ========================
  589.  
  590. **** Last update 93/01/16
  591.  
  592. IX.A. HLU Information
  593. IX.B. OTHERS
  594.  
  595. IX.A. HLU Information
  596. ~~~~~~~~~~~~~~~~~~~~~
  597.  
  598. The official release of GCC for Linux is 2.3.3.
  599. This section includes:
  600.     README.gccdisk
  601.     FAQ of gcc written by HLU
  602.  
  603.  
  604.  
  605. QUESTION: I don't know how to install gcc stuff, is there special
  606. places?
  607.  
  608. ANSWER: This is the README.gccdisk
  609.  
  610.                     Linux GNU C/C++ [HJ release]
  611.  
  612. Introduction
  613. ------------
  614.   This is GNU C/C++ 2.3.3. It is linked with jump table 4.2. You should use
  615.   it with the Linux C library disks since the C/C++ compiler has no shared
  616.   images, which are required by all the binaries in it.  It consists of
  617.   2 minix disks, which will fit on either 5.25" or 3.5" floppies.
  618.  
  619.   It is on tsx-11.mit.edu under pub/linux/GCC/gccdisk
  620.  
  621.  
  622. Distribution File Format
  623. ------------------------
  624. There are two files, each of which goes on one disk
  625.  
  626.   A. Disk 1 (gcc233a.Z)
  627.  
  628.   This contains gcc, cpp, cc1 and crt0.o/gcrt0.o.  There are also some header
  629.   files in /usr/lib/gcc-lib/i386-linux/2.3.3/include.
  630.  
  631.   B. Disk 2 (gcc233b.Z)
  632.  
  633.   This disk contains cc1plus.
  634.  
  635.  
  636. Installing on the Hard Drive
  637. ----------------------------------------
  638.   1. uncompress base[1|2].Z.
  639.   2. rawrite or dd each file to a formatted floppy disk.
  640.  
  641.   Now you have made a copy of gcc 2.3.3 on two floppies.  To copy each
  642.   floppy to your hd, you should mount the floppy and copy its contents to
  643.   your hard drive.  You can do this by:
  644.  
  645.     mount /dev/fd[0|1] /mnt
  646.     cd /mnt
  647.     for d in bin dev etc usr
  648.     do
  649.       if [ -d $d ]; then
  650.         cp -av $d /
  651.       fi
  652.     done
  653.  
  654.   Note: This may overwrite some files on your hard disk.
  655.  
  656. Thanks.
  657.  
  658. H.J.
  659. hlu@eecs.wsu.edu
  660. 12/31/92
  661.  
  662. QUESTION: What compiler should I use for Linux?
  663.  
  664. ANSWER: You should only use the same version on tsx-11.mit.edu or
  665. fgb1.fgb.mw.tu-muenchen.de under /pub/linux/GCC. If you want to use
  666. the testing release, first join the GCC channel on the Linux mailing
  667. list, and then send a note to hlu@eecs.wsu.edu. Don't use gcc older
  668. than the one on tsx-11.mit.edu or fgb1.fgb.mw.tu-muenchen.de.
  669.  
  670. QUESTION: Where is the latest official gcc 2.xx for Linux?
  671.  
  672. ANSWER: It's on tsx-11.mit.edu under /pub/Linux/GCC and
  673. fgb1.fgb.mw.tu-muenchen.de under pub/linux/GCC. You may find it on the
  674. other sites.
  675.  
  676. QUESTION: What are the contents of them?
  677.  
  678. ANSWER: Please read the current release note and ChangeLog for
  679. details.
  680.  
  681. QUESTION: How do I install it?
  682.  
  683. ANSWER: Read README and release notes.
  684.  
  685. QUESTION: What are the main differences with the old release?
  686.  
  687. ANSWER: Read README and release notes.
  688.  
  689. QUESTION: Can I use the old version of gcc?
  690.  
  691. ANSWER: Please get rid of gcc older than gcc 2.2.2. Starting from
  692. gcc 2.2.2, you can do
  693.  
  694.     gcc -V xxxx
  695.  
  696. where xxxx is the version number. Please read `release.xxxx' for
  697. detail. There is one catch in gcc 2.2.2d, setjmp/longjmp is changed,
  698. so the old header files is not compatible with gcc 2.2.2. Before you
  699. install gcc 2.2.2d, please do
  700.  
  701. cp /usr/include/setjmp.h /usr/lib/gcc-lib/i386-linux/2.2.2/include
  702.  
  703. where /usr/include/setjmp.h is come with gcc 2.2.2.
  704.  
  705. QUESTION: Is stdio ANSI compatible?
  706.  
  707. ANSWER: Yes, please test it.
  708.  
  709. QUESTION: Is g++ in 2.xx?
  710.  
  711. ANSWER: Yes.
  712.  
  713. QUESTION: How do I use gcc?
  714.  
  715. ANSWER: Read manual page, gcc.ps or gcc.man in /usr/install/gcc2.
  716.  
  717. QUESTION: What options can I use for gcc?
  718.  
  719. ANSWER: Read manual page, gcc.ps or gcc.man. Also -static tells gcc
  720. to use the static libraries, -nojump forces gcc to use the classic
  721. shared libraries. The default is the jump table version of shared
  722. libraries. The shared libraries for X are linked with the jump table
  723. version of shared C library.
  724.  
  725. QUESTION: Where is the source code of the new libc.a?
  726.  
  727. ANSWER: The same place you find this file. It is called 
  728. lib-src-yy.xx.TZ.
  729.  
  730. QUESTION: Why does g++ complain, even die?
  731.  
  732. ANSWER: You need "expr", which is in GNU shell utilities 1.6, echo (?)
  733. and sed.
  734.  
  735. QUESTION: How do I generate code for 486?
  736.  
  737. ANSWER: Add -m486 to CFLAGS.
  738.  
  739. QUESTION: I heard malloc (0) wouldn't work with Linux, what should I
  740. do?
  741.  
  742. ANSWER: include <stdlib.h> and don't define NO_FIX_MALLOC.
  743.  
  744. QUESTION: Why does gcc say "xxxxx..h not found"?
  745.  
  746. ANSWER: see QUESTION: What are the contents of them?
  747.  
  748. QUESTION: I really followed every step in the documentation, but when
  749. I do "make", why does it say "don't how to make xxxxxx"?
  750.  
  751. ANSWER: The dependency in Makefile is dated, you need to make a new
  752. one. Please get some guide on make and read Makefile. For the kernel
  753. sources, please do
  754.  
  755. cd src/linux
  756. make dep
  757.  
  758. QUESTION: How do I compile programs under Linux?
  759.  
  760. ANSWER: The Linux C library is trying to be ANSI/POSIX compliant. It
  761. is also very compatible with SYSV and BSD. The C library is loaded
  762. with SYSV and BSD functions. There are three exceptions:
  763.  
  764. 1. signal in Linux is POSIX.
  765. 2. tty in Linux is POSIX.
  766. 3. time functions are POSIX, plus a few BSD and SYSV extensions.
  767. 4. setjmp/longjmp functions are POSIX. But you can use -D__FAVOR_BSD
  768.    to make it BSD or use sigsigjmp/siglongjmp.
  769.  
  770. When you compile a program under Linux, your best bet is include all
  771. the appropriate header files and use -Wall. All the usable functions
  772. and global variables are declared in the corresponding header files.
  773. YOU SHOULD NOT DEFINE ANY functions or global variables OF THE LINUX C
  774. LIBRARY IN YOUR CODE IF YOU WANT TO USE THE SHARED LIBRARIES.
  775.  
  776. After saying all those, you now should know you can compile a program
  777. with -D_POSIX_SOURCE or -D_GNU_SOURCE (read <features.h> for details).
  778. With a few modifications you can even use -DSYSV, -DUSG or -DBSD. Some
  779. codes need to define -DSTDC_HEADERS for ANSI C compiler like gcc here.
  780.  
  781. To use malloc () and calloc () safely under Linux, please include
  782.  
  783. <stdlib.h> and don't define NO_FIX_MALLOC.
  784.  
  785. BTW, gcc -traditional should work with gcc 2.2.2d or above.
  786.  
  787. Please also read ChangeLog for the latest enhencement.
  788.  
  789. Please read the header files for details. Maybe you should get a book
  790. on POSIX. Any suggestion of the book list?
  791.  
  792. From Steve Robbins  --  steve@nyongwa.cam.org
  793.  
  794. IX.B. OTHERS
  795. ~~~~~~~~~~~~
  796.  
  797. QUESTION: I seem to be unable to compile anything with gcc. Why?
  798.  
  799. ANSWER: If you have only 2 MB RAM, gcc will die silently without
  800. compiling anything. You must have at least 4 MB to do compilations
  801.  
  802. BTW Since swapping is possible, I have heard that compilation works 
  803. with only 2Meg and a lot disk traffic :) Isn't it great?
  804.  
  805.  
  806. QUESTION: gcc complains about not finding crt0.o and the system
  807. include files What am I doing wrong ?
  808.  
  809. ANSWER: The include files normal place is in /usr/include. lib*.a and
  810. *.o should be in /usr/lib or /usr/local/lib
  811.  
  812.  
  813. QUESTION: I tried to port a /new/ version of gnu stuff. But in the
  814. linking phase, gcc complains about the missing libg.a. 
  815.  
  816.  
  817. ANSWER: Yes this is well known for compiler version earlier than
  818. 2.2.2, throw away the flag -g that's all, anyway libg.a is /only/ for
  819. debugging purpose. 
  820.  
  821.  
  822. QUESTION: How to compile programs which may be debugged with gdb?
  823.  
  824. ANSWER: There are different ways to handle this problem. If
  825. you have the gcc2.2.2 or later it's simple, use the -g flag. Otherwise
  826. there are different possibilities:
  827. 1) As there is no libg.a, you should throw away the -g flag in link
  828. phase, this means that the compilation must be done in two steps
  829. example: instead of "gcc -g monprog.c -o monprog", use the following
  830. "gcc -g -c monprog.c" and then "gcc -o monprog monprog.o"
  831. Alas this method is not that good if you are using Makefile.
  832. 2) The other way is to create an empty libg.a as follows (Peter
  833. MacDonald trick):
  834. - create libfake.c containing libgfake() {}
  835. - compile it with: gcc -c libfake.c
  836. - create the libg.a with: ar r libg.a libfake.o
  837. 2bis) The more tricky Humberto method:
  838. cd /usr/lib
  839. ranlib libg.a
  840.  
  841. then gcc -g monprog.c -o monprog will produce a debuggable monprog
  842.  
  843.  
  844. QUESTION: When compiling some code, cc1 complains about some insn
  845. code, what's that? 
  846.  
  847. ANSWER: An insn is an internal representation that gcc uses when
  848. compiling. The main part of gcc is to take ordinary c (or c++) code,
  849. and compile it, while ding optimizations in insn part, which is
  850. soft/hard independant. Then another part which is hard/Os dependant
  851. takes the insns and translate it in assembly language. The fix is only
  852. to turn off the optimization flag (-O). 
  853.  
  854.  
  855. QUESTION: When compiling #$@!, I've got some problems with "SIGBUS"
  856. signal that doesn't exist. Any clue ?
  857.  
  858. ANSWER: (Louis J. LaBash, Jr.) SIGBUS is a common problem, its not
  859. needed, just comment it all out, something like:
  860.  
  861. #ifdef SIGBUS
  862. .. normal sigbus code ..
  863. #endif
  864.  
  865. QUESTION: How can I write codes suitable for building shared library ?
  866.  
  867. ANSWER: (H.J. Lu, hlu@eecs.wsu.edu, 09/01/92)
  868. There are some guidelines for writing codes suitable for building the
  869. shared library with jump table.
  870.  
  871. 1. Never, ever allow library users to access global data directly.
  872.    Always, always make them go through access functions.  That way,
  873.    you are free to change the internal implementation, but can
  874.    easily provide backward compatibility by simply replacing the
  875.    access functions.
  876.  
  877. 2. If you do have to define some global data for library users to
  878.    access, put them into a separate file. Never mix them with other
  879.    library code. Also make sure the relative locations of the global
  880.    data will not change very often. One solution is leave some spaces
  881.    for them to grow.
  882.  
  883.  
  884.  
  885. X. SCSI SPECIAL
  886. ===============
  887. *** This section is written by Drew Eckhardt, mail him for any
  888. *** information, questions related to this section.
  889. *** Last update December 1992.
  890.  
  891. QUESTION: What SCSI hosts are supported?
  892.  
  893. ANSWER: The Adaptec 154x, Adaptec 174x Future Domain 16x0,  Seagate ST0x, 
  894. Ultrastor 14F, and Western Digital 7000 are supported.  Various Adaptec 
  895. clones from Bustek and Future Domain are known to work, in both ISA and EISA 
  896. flavors.
  897.  
  898. The TMC 950, and the discrete 8xx implementations will be supported 
  899. in the new Seagate driver when debugging is finished.  If you want to 
  900. use an older kernel, add 0x200 to the status and data register addresses.
  901.  
  902. Not very many BIOS signatures are included for the Future domain boards, so 
  903. they may not auto-detect correctly.  
  904.  
  905. QUESTION: Which disks ?
  906.  
  907. ANSWER: Anything that works with your host adapter electronically, and
  908. is new enough to support a December 1985 draft of SCSI-I.  
  909.  
  910. Sysquest, and other removeable hard disks are supported.
  911.  
  912. Extended partitions also work, with 11 Extended partitions per disk 
  913. allowed in combination with the four real partitions and whole disk
  914. sub device.
  915.  
  916. Disks up to two terabytes in size will work, since the sd driver
  917. switches to 10 byte reads when necessary.
  918.  
  919. QUESTION: What about SCSI tapes ? 
  920.  
  921. ANSWER: Tapes are supported.  You may wish to obtain the utility program mt,
  922. which is usually available from tsx-11.mit.edu in pub/linux/ALPHA/scsi.
  923.  
  924. QUESTION: What about CD ROMS?
  925.  
  926. ANSWER: Yes, cdroms are supported, and the ISO-9660 file system is in
  927. included with the kernel distribution.  Rockridge extensions are
  928. supported.  You will have to make sure that you have configured the
  929. kernel to include the isofs filesystem or otherwise you will not be
  930. able to use the cdrom.
  931.  
  932. QUESTION: What about flopticals, Bernoulis, Sysquests, and other removeable
  933. media devices?
  934.  
  935. ANSWER: The normal SCSI disk driver supports these.  Note that pre-.98pl4
  936. versions of Linux had some bugs handling disk-change.
  937.  
  938. QUESTION: How do I get SCSI information?
  939.  
  940. ANSWER: Subscribe to the SCSI channel of the linux-activists mailing list.
  941. mail linux-activists@joker.cs.hut.fi 
  942. And put in the header.
  943.        X-MN-Admin: join SCSI
  944.  
  945. QUESTION :  I can't make a filesystem on /dev/hd*
  946.  
  947. ANSWER : /dev/hd* aren't your SCSI disks.  /dev/sd* are. 
  948. See below for approproate major / minor numbers if they 
  949. do not exist on your root diskette.
  950.  
  951. QUESTION: How do I partition the disk?
  952.  
  953. ANSWER: Use pfdisk or the DOS parititioning program of your choice
  954.  
  955. QUESTION: My partitioning program can't figure out the disk geoemetry
  956.  
  957. The problem with partitioning SCSI disks and Linux is that Linux talks
  958. directly to the SCSI interface.  Each disk is viewed as the SCSI host
  959. sees it : N blocks, numbered from 0 to N-1, all error free.  There is
  960. no portable way to get disk geometry.  
  961.  
  962. However, DOS doesn't like things like this, it demmands that BIOS
  963. present it with a normal Cylinder / Head / Sector coordinates.  So,
  964. BIOS does, and it comes up with some fabrication that fits what DOS
  965. wants to see.  You don't want to disagree with what BIOS thinks when
  966. you write the partition table. 
  967.  
  968. The newest SCSI code will return the mapped geometry for some host 
  969. adapter / disk combinations.  Kernel release 0.99 and later should have
  970. this capability.
  971.  
  972. QUESTION: The stock {f,pf}disk programs don't work.
  973.  
  974. ANSWER: At least some older versions of these partitioning programs have 
  975. /dev/hd* hardcoded into them, and they don't see /dev/sd*.
  976.  
  977. If you want, YOU can change the /dev/hd* devices to be links to or
  978. other entries for the SCSI devices.  
  979.  
  980. Also, pfdisk should be callable with a device name.
  981.  
  982. Hopefully, some one will change the partitioning programs to respect
  983. the SCSI devices. 
  984.  
  985. QUESTION: Where is the latest version maintained?
  986.  
  987. ANSWER: tsx-11.mit.edu:/pub/linux/ALPHA/scsi
  988.  
  989. Join the list before you grab anything.
  990.  
  991. eric@tantalus.nrl.navy.mil (Eric Youngdale) added scatter/gather support 
  992. to the SCSI drivers, and changed around the internal structures to get 
  993. something that works as "version 2"
  994.  
  995. QUESTION: What are the major / minor numbers for SCSI drives?
  996.  
  997. ANSWER: Because of the large number of devices that can be hung off of 
  998. a SCSI bus (as many as 56 if you use SCSI fanouts or bridge boards), 
  999. and the possibility of 16 partitions on a SCSI disk, we'd run out of 
  1000. minor numbers if they were statically allocated - so a dynamic 
  1001. numbering scheme is used.
  1002.  
  1003. Block device major 8 is used for SCSI drives, 11 for CD-ROMs.  
  1004. Character device major 9 is used for SCSI tapes.
  1005.         
  1006. Minors are assigned in increments of 16 to SCSI disks as they are
  1007. found, scaning from host 0, ID 0 to host n, ID 7, excluding the host
  1008. ID.  Most hosts use ID 7 for themselves.
  1009.  
  1010. A minor where minor mod 16 = 0 is the whole drive, where minor mod 16
  1011. is between 1 and 4, that partition, extended partitions dynamically
  1012. assigned from 5 to 15 inclusive.  Note that the gendisk.c module
  1013. prints partition tables on initialization - you should be able to see
  1014. them there.
  1015.  
  1016. Example : I have four SCSI disks, set up as follows 
  1017.         Seagate ST02, ID=0
  1018.         Seagate ST02, ID = 5
  1019.         Ultrastor 14, ID = 0
  1020.         Adaptec 1542, ID = 0
  1021.  
  1022. The first disk on the seagate at ID 0 will become minors 0-15
  1023. inclusive, the second at ID5 16-31 inclusive, the disk on the
  1024. Ultrastor 32-47, on the Adaptec 48-63.
  1025.  
  1026. QUESTION: How do I reduce kernel bloat and eliminate the drivers I
  1027. don't want?
  1028.  
  1029. ANSWER: For kernel release 0.99 and later, just go to the to directory
  1030. in the kernel source tree, and type ``make config'', and answer the
  1031. questions.  For older kernel distributions, simply #undef
  1032. CONFIG_DISTRIBUTION in include/linux/config.h, and define the macros
  1033. for the SCSI hosts you want enabled.
  1034.  
  1035. QUESTION: I get SCSI timeouts.
  1036.  
  1037. ANSWER: Make sure your board has interrupts enabled correctly.
  1038.  
  1039. QUESTION: The seagate driver doesn't work.
  1040.  
  1041. ANSWER: There are several possibilities
  1042. 1) Is the board jumpered for IRQ5 ? 
  1043.  
  1044. The factory settings are
  1045. for MSLOSS, and have interrupts disabled.  Interrupts are controlled
  1046. by the W3 (ST01) or JP3 (ST02) jumper, which should have pins FG 
  1047. shorted.  See your manual.
  1048.  
  1049. 2) Cached machines will not have problems IF the Seagate's address
  1050. space (typically C8000 - CAFFFF) is not marked "non cacheable."
  1051. This applies to the i486 internal cache as well as i386/i486 
  1052. external caches.
  1053.  
  1054. This can be set in the XCMOS of most machines.  If you can't disable
  1055. cache for the Seagate's area (16K in size, starting at the base
  1056. address), then you must disable the cache entirely, otherwise
  1057. it won't work.
  1058.  
  1059. 3) The new seagate drivers (not yet released) can operate in a mode where 
  1060. the 0ws ISA bus line is used to synchronize the ISA and SCSI busses.  
  1061. This makes things fast, since the alpha Seagate driver can dump SCSI data out 
  1062. fast enough to swamp the bus.  However, this will only work if the 0ws 
  1063. jumper is enabled.  If this isn't the case, the Seagate driver "should" detect 
  1064. this as an over/under run condition, but it might not.  Either enable
  1065. the 0ws jumper, or #undef FAST in seagate.h.
  1066.  
  1067. QUESTION: The Adaptec driver doesn't work.
  1068.  
  1069.  
  1070. ANSWER: Older versions of the SCSI drivers required that the Adaptec BIOS
  1071. be enabled because it does some initialization that affects
  1072. the driver.  If the BIOS was disabled, it may fail on your system.
  1073. The new scsi code does not require this.
  1074.  
  1075. A common source of difficulty is a conflict between two different
  1076. boards forand IRQ level, a DMA channel, or an I/O address.  Check the
  1077. settings for the boards you have in your system (music boards are
  1078. known to use similar IRQ or I/O addresses as the Adaptec.  In the new
  1079. scsi code the Adaptec can use any of the IRQ levels that it can be
  1080. strapped for, it can use I/O address 0x330 or 0x334, and it can use
  1081. DMA channels 5, 6 or 7.
  1082.  
  1083. Older versions of the SCSI drivers ran the 17 x in 1542 emulation
  1084. mode, where some of these cards have a bug that interferes with
  1085. reads / writes > 512 bytes.
  1086.  
  1087. Older versions of the SCSI drivers ran the 174x in 1542 emulation
  1088. mode, where some of these cards have a bug that interferes with 
  1089. reads / writes > 512 bytes. 
  1090.  
  1091. The new SCSI drivers support the 174x in 'native' mode, so this isn't
  1092. a problem.
  1093.  
  1094. QUESTION: What about bugs?
  1095.  
  1096. ANSWER: It works on MY hardware.  It works on Tommy Thorn's Adaptec
  1097. system, Dave Gentzel's Ultrastor, Thomas Wuensche's WD7000, Rick
  1098. Faith's Future Domain, and quite a few other systems.
  1099.  
  1100. Bugs that are there will mostly be very hardware specific, and nasty
  1101. to track down.  SCSI should be basically error free - consequently,
  1102. the error code has not been heavily tested, and there are known bugs
  1103. in it. 
  1104.  
  1105. If you have found a bug, please mail it to the SCSI channel of the
  1106. mailing list with specifics of your hardware.  Other people may have the 
  1107. same problem, a solution, etc.
  1108.  
  1109. If you provide a patch, in context diff form, the bug will be fixed 
  1110. Immediately.  If you can provide me with a procedure that reproduces
  1111. the bug on *MY* system, the bug will be fixed "soon."  Your chances 
  1112. of getting it fixed increase exponentially with the amount of 
  1113. information provided.  If I can't reproduce it, and your 
  1114. description gives me no idea as to where in the code to  look,
  1115. it won't get fixed by me.
  1116.  
  1117. QUESTION: What are the known bugs?
  1118.  
  1119. ANSWER : 
  1120.  
  1121. Many of the drivers cannot abort a command that is in progress - if 
  1122. something goes haywire, all drives off that controller will hang.
  1123.  
  1124. QUESTION: I get a message saying READ CAPACITY FAILED. What does this
  1125. mean? 
  1126.  
  1127. ANSWER: UPGRADE.
  1128.  
  1129. QUESTION: Why does the system "hang" when SCSI disk access occurs.
  1130.  
  1131. ANSWER: Older Linux distributions (pre .97)  used  earlier versions
  1132. of the SCSI drivers, where the drivers were not interrupt driven
  1133. (easier debugging, or so we thought).  Since the drivers did not return
  1134. from the device driver strategy routine, until the SCSI command
  1135. completed, no other tasks were scheduled, and ineteractive performance
  1136. was abysmall. 
  1137.  
  1138. UPGRADE.
  1139.  
  1140. QUESTION: Why can't I swap to a SCSI disk?, Why can't I mount a SCSI
  1141. disk as root? 
  1142.  
  1143. ANSWER: This was due do a race condition that has since been fixed.
  1144.  
  1145. UPGRADE.
  1146.  
  1147. QUESTION: What future developments are planned?  
  1148.  
  1149. ANSWER: The following changes will/have occurred : 
  1150.  
  1151.         - have occurred : 
  1152.  
  1153.         - support for scatter / gather is there.  This 
  1154.           means that all read (and readaheads) will be 
  1155.           handled via one command.  
  1156.  
  1157.         - Significant changes have been made to the 
  1158.               Seagate driver.  Among other things, it supports the
  1159.           0ws line, which means we can dump data fast enough
  1160.           to flood the bus.  
  1161.  
  1162.         - Multiple outstanding commands per LUN are supported.  
  1163.           This should result in vastly improved performance
  1164.           on multi-device systems.
  1165.     
  1166.         - SCSI tapes are supported.
  1167.  
  1168.         - Support for LUN !=0 is there.
  1169.     
  1170.     - Planned
  1171.         - SCSI commands are issued as linked commands
  1172.           wherever possible, eliminating the arbitration / 
  1173.           selection / message out phases needed to start 
  1174.           a command "from scratch".
  1175.  
  1176.         - I have the mode page specs, and am looking at 
  1177.           doing "appropriate things" w.r.t. cache enable,
  1178.           buffer control, etc.  It seems that some drives
  1179.           power up, and keep the buffer off until told otherwise
  1180.           in software.
  1181.     
  1182.         
  1183. QUESTION: What drivers does the new code support.
  1184.  
  1185. ANSWER: ALL of the existing drivers work fine.  However, only the Adaptec,
  1186. Western Digital and Future Domain cards use scatter gather.  The seagate 
  1187. scatter/gather driver is fast but not yet stable and still kernel 
  1188. panics.
  1189.  
  1190. QUESTION: WHEN?
  1191.  
  1192. ANSWER: Now.  You just have to make sure that you are using version 0.98pl6
  1193. or later of the kernel, and you will automatically get the new scsi code.
  1194.  
  1195.  
  1196.        ===================8<==========>8================
  1197.  
  1198.